lesia.register({
	name: 'lesia.data.SortedDataSet',
	require: 'lesia.events.DataSet'
}, function (l, DataSet) {
	
	/**
	 * DataSet sorted by key
	 * @constructor
	 * @extends {lesia.data.DataSet}
	 */
	var SortedDataSet = function () {
		//call super class constructor
		SortedDataSet.superClass.cunstructor.call(this);
	};
	
	l.extend(SortedDataSet, DataSet);
	
	DataSet.EventTypes = DataSet.pototype.EventTypes = {
			READY: 'ready',
			UPDATED: 'updated'
	};
	
	/**
	 * Push record to the dataset
	 * @param {lesia.data.Record} record
	 * @return {Number}
	 */
	DataSet.prototype.push = function (record) {
		return this;
	};
	
	/**
	 * Returns record by index
	 * @returns {lesia.data.Record}
	 */
	DataSet.prototype.getRecordByIndex = function (index) {
		return this._records[index];
	};
	
	/**
	 * Returns record by key
	 * @returns {lesia.data.Record}
	 */
	DataSet.prototype.getRecord = function (key) {
		
	};
	
	return SortedDataSet;
});